home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / TPUG Xtras / Xtras / club1.d64 / club librarian (.txt) < prev    next >
Commodore BASIC  |  2009-02-07  |  15KB  |  439 lines

  1. 0 X$="XX":FORI=.TO3:X$=X$+X$:NEXT
  2. 1 X$=X$+"XXXXXXX":PRINT"[147][158]WORKING..."
  3. 2 PRINT"[159]  THE CLUB LIBRARIAN V1.2     "
  4. 3 PRINT"      COPYRIGHT BY:           "
  5. 4 PRINT"  FRED LAYBERGER--APR 1986    "
  6. 5 PRINT"  14524 'N' ST,OMAHA,NE 68137 "
  7. 6 PRINT"  OKAY TO USE BUT NOT TO SELL "
  8. 7 GOTO1502
  9. 10 PRINT"[147]"CY$S2$BL$R$S1$:POKE53281,11
  10. 11 GOSUB60:Y=24:X=.:GOSUB20:PRINTBL$S1$CY$S3$;:POKE2023,160:POKE56295,3:RETURN
  11. 20 PRINTLEFT$("",Y)TAB(X);:RETURN
  12. 30 GOSUB47:Y=24:X=47:GOSUB20:PRINTR$CY$"  PRESS ' ^ ' TO RETURN    ";:I$=""
  13. 31 Y=24:X=20-LEN(P$)/2:GOSUB20:PRINTW$P$;:FORI=1TO200:NEXT
  14. 32 A=A+1AND1:POKE199,A:GETI$:IFI$=""THEN31
  15. 33 RETURN
  16. 45 Y=24:X=.:GOSUB20:PRINTBL$S3$R$" "O$;
  17. 46 Y=24:X=20-LEN(P$)/2:GOSUB20:PRINTP$;:RETURN
  18. 47 Y=24:X=40:GOSUB20:PRINTCY$S3$W$;:RETURN
  19. 48 GOSUB60:GOSUB45:GOSUB47:RETURN
  20. 50 Y=22:X=8:GOSUB20:PRINTR$W$"INSERT "P$" DISKETTE ";:RETURN
  21. 60 Y=3:X=.:GOSUB20:FORI=3TO23:PRINT"[155]                                      [146]"
  22. 61 NEXT:RETURN
  23. 90 REM * ERR HANDLING
  24. 91 INPUT#15,ER,ER$,T,S:RETURN
  25. 92 GOSUB60:Y=22:X=9:GOSUB20:POKE53281,2:PRINTER;ER$;T;S:P$=S6$:GOSUB30:RETURN
  26. 93 P$=P1$:GOSUB48:CLOSE15:OPEN15,DD,15,"I"+MID$(STR$(DR),2,1)+":":GOSUB91:RETURN
  27. 94 GOSUB92:X=PEEK(152):FORI=1TOX:CLOSEPEEK(601):NEXT:RETURN
  28. 100 REM * CHANGE
  29. 102 Y=24:X=47:GOSUB20:PRINTR$CY$"PRESS 'RETURN' TO CONTINUE";:IFUTHENRETURN
  30. 104 X=21-LEN(P$):GOSUB20:PRINTW$P$;:Y=24:X=21
  31. 108 A$=J$+RIGHT$(A$,J-I):GOSUB20:PRINTR$A$;:GOSUB20:PRINTR$J$;:IFI<JTHENPRINT"[166]";
  32. 110 WAIT198,1:GETI$:POKE198,.:IFI$=CHR$(13)THEN134
  33. 112 IFI$=CHR$(19)ORI$=CHR$(34)ORI$=""ORI$=CHR$(131)ORI$=CHR$(147)ORI$=CHR$(141)THEN108
  34. 114 IFI<=1THENIFI$=CHR$(20)ORI$=CHR$(157)THENI=.:J$="":GOTO108
  35. 116 IFI$=CHR$(29)ANDI<JTHENI=I+1:J$=LEFT$(A$,I):GOTO108
  36. 118 IFI$=CHR$(148)THEN108
  37. 120 IFI$=CHR$(20)ORI$=CHR$(157)THENJ$=LEFT$(J$,LEN(J$)-1):I=I-1:GOTO108
  38. 122 IFI$=CHR$(17)THENPRINT"[145]":J$=LEFT$(J$,LEN(J$)):GOTO108
  39. 124 IFI$=CHR$(145)THENPRINT"[145]":J$=LEFT$(J$,LEN(J$)):GOTO108
  40. 126 IFKTHENIFI$="*"THEN130
  41. 128 IFSL<>1THENIFI$="*"THENJ=I+1:GOTO132
  42. 130 IFI=JTHENIFI$<>CHR$(13)THEN108
  43. 132 J$=J$+I$:I=I+1:GOTO108
  44. 134 RETURN
  45. 200 REM * PRINTER CODES
  46. 202 DEFFNR(X)=INT((IP/CL-INT(IP/CL))*CL+.5):C1$=CHR$(15):C2$=CHR$(18):Z=.:IP=N
  47. 204 IFPTHENIP=VAL(MID$(DT$(K),19)):IFK>1THENW=W+IP
  48. 206 C3$=CHR$(14):C4$=CHR$(20):H1$=E$+"E":H2$=E$+"F"
  49. 208 U$=E$+"U"+CHR$(48)
  50. 210 T1$=C1$+E$+"S"+CHR$(1)+E$+"A"+CHR$(6):T2$=C2$+E$+"T"+E$+"A"+CHR$(12)
  51. 212 A=2:ONPCGOTO218,218,218,216,214,218
  52. 213 GOTO 218
  53. 214 E=40:B=6:C=1:D=.:CL=5:PL=118:GOTO224
  54. 216 E=40:B=6:C=1:D=.:CL=5:PL=59:T1$=C1$+E$+"G":T2$=C2$+E$+"H":GOTO224
  55. 218 A=2:E=40:B=6:C=1:D=.:CL=3:PL=59:P$=" - - - - - - - - - -"
  56. 220 T1$=E$+"E":T2$=E$+"F"
  57. 222 IFPC<3THENC1$="":C2$="":C4$=CHR$(129):T1$="":T2$="":SA=.:H1$="":H2$="":U$=""
  58. 224 X=INT(IP/CL):R=FNR(X):IFR>.THENIFR<=CLTHENX=X+1
  59. 226 RETURN
  60. 300 REM * Y/N
  61. 302 U=3:Y=20:X=17-LEN(P$)/2:GOSUB20:PRINTP$:X=X+LEN(P$)+2
  62. 304 GOSUB20:PRINTW$"NO ":Y=Y+1:GOSUB20:PRINTR$"YES"
  63. 306 GOSUB952:IFI$="^"THENRETURN
  64. 308 I$="N":IFC=1THENI$="Y":POKES+B,160
  65. 310 RETURN
  66. 350 REM * SAVE/LOAD
  67. 352 P$=BL$:GOSUB48:P$="[158]LOAD OPTIONS":IFG=4THENP$="[158]SAVE OPTIONS"
  68. 354 Y=5:X=4:GOSUB20:PRINTR$LEFT$(P$,5):PRINTTAB(X)MID$(P$,7):Y=3:X=17
  69. 356 FORI=1TOSO:GOSUB20:PRINTR$W$CHR$(I+64)" "O$LEFT$(SL$(I)+"               ",15)
  70. 358 Y=Y+1:NEXT:U=4:GOSUB952:IFI$="^"THENRETURN
  71. 360 F$="@"+LEFT$(SL$(C+1),15):FF$=CHR$(C+65):P$=BL$:GOSUB48:IFG=4THEN502
  72. 400 REM ** LOAD FILES
  73. 402 IFN<1THEN410
  74. 404 Y=16:X=6:GOSUB20
  75. 406 PRINTR$"[158]CAUTION...CURRENT ENTRIES   "
  76. 408 PRINTR$"WILL BE LOST IF YOU PROCEED."
  77. 410 U=1:P$=S9$:GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
  78. 412 GOSUB93:OPEN1,DD,.,MID$(STR$(DR),2,1)+":"+F$+",S,R"
  79. 414 GOSUB91:IFERTHEN94
  80. 416 IFN>1THENFORI=.TON:T$(I)="":NEXT:N=.:Z=FRE(.)
  81. 418 I$="":Y=5:X=5:GOSUB20:PRINTW$R$"LOADING...":F$=MID$(F$,2)
  82. 420 INPUT#1,DN:INPUT#1,N:INPUT#1,P:FORI=1TODN:INPUT#1,DT$(I):NEXT
  83. 422 Y=6:GOSUB20:PRINTNTAB(10)F$
  84. 424 POKE850,76:POKE851,88:POKE852,3:POKE952,19
  85. 426 FORI=1TON:SYSDL:T$(I)=LEFT$(X$,18)
  86. 428 Y=7:GOSUB20:PRINTR$ITAB(10)LEFT$(T$(I),16):NEXT
  87. 430 GOSUB91:IFERTHEN94
  88. 432 CLOSE1:RETURN
  89. 500 REM * SAVE
  90. 502 P$=S9$:GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
  91. 504 GOSUB93:OPEN1,DD,8,MID$(STR$(DR),2,1)+":"+F$+",S,W"
  92. 506 GOSUB91:IFER=63THENP$=S5$:GOTO526
  93. 508 IFERTHEN94
  94. 510 Y=5:X=5:GOSUB20:PRINTW$R$"SAVING"N"[157] PROGRAMS":F$=MID$(F$,2)
  95. 512 PRINT#1,DN:PRINT#1,N:PRINT#1,P
  96. 514 FORI=1TODN:PRINT#1,DT$(I):NEXT
  97. 516 Y=7:GOSUB20:PRINTI;TAB(10)DT$(I)
  98. 518 FORI=1TON:PRINT#1,T$(I)
  99. 520 Y=7:GOSUB20:PRINTI;TAB(10)T$(I)
  100. 522 NEXT:GOSUB91:IFERTHEN94
  101. 524 CLOSE1:RETURN
  102. 526 CLOSE1:GOSUB48:GETI$
  103. 528 IFI$="Y"THENP$=P1$:GOSUB45:PRINT#15,"S"+MID$(STR$(DR),2,1)+":"+F$:GOTO504
  104. 530 IFI$<>"N"THEN526
  105. 532 Y=2:X=60-LEN(H$)/2:GOSUB20:PRINTR$W$H$;:RETURN
  106. 600 REM * READ DIR
  107. 602 P$=S8$:IFU>.THENP$=S9$
  108. 604 GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
  109. 606 P$=P1$:GOSUB48:CLOSE15:OPEN15,SD,15,"I"+MID$(STR$(SR),2,1)+":":P$=S8$
  110. 608 POKE850,32:POKE851,228:POKE852,255:POKE952,29
  111. 610 OPEN1,SD,.,"$"+MID$(STR$(SR),2,1)
  112. 612 GOSUB91:IFERTHEN94
  113. 614 SYSDL:DT$=MID$(X$,7,16):ID$=MID$(X$,25,2)
  114. 616 H$=DT$+ID$:GOSUB532
  115. 620 NF=-1:POKE850,76:POKE851,100:POKE852,3:POKE952,24
  116. 622 SYSDL:B$=LEFT$(X$,1):C$=MID$(X$,2,1):S$=STR$(ASC(C$)*256+ASC(B$))
  117. 624 S$=RIGHT$("    "+S$,4):IFSTTHEN632
  118. 626 Y=5:X=9:GOSUB20:PRINTW$R$MID$(X$,3,19)S$
  119. 628 NF=NF+1:V$(NF)=MID$(X$,3,16)+MID$(X$,20,2)+S$
  120. 630 GOTO622
  121. 632 GOSUB91:IFERTHEN94
  122. 634 BK$=S$:IFI$="^"THENN=.
  123. 636 CLOSE1:IFNF<.THENRETURN
  124. 638 H$=H$+BK$+" BKS FREE":GOSUB532
  125. 700 REM * FILE SELECTION
  126. 702 GOSUB60:PRINTP4$P5$;
  127. 704 S=1145:B=.:FORK=.TONFSTEP38
  128. 706 Y=4:X=2:FORJ=.TO18
  129. 708 SL=13:X=2:GOSUB766:Y=Y+1:IFY=23THENY=4
  130. 710 PRINT:IFJ+K=NFTHENJ=37
  131. 712 NEXT:X=2
  132. 714 POKES+B,62:POKE198,.:WAIT198,1:GETI$
  133. 716 IFI$="[145]"THENB=B-40:POKES+B+40,160:IFB=-40THENPOKES+B,160:B=18*40:GOTO722
  134. 718 IFI$=""THENB=B+40:POKES+B-40,160:IFB=19*40THENPOKES+B,160:B=.:GOTO722
  135. 720 POKES+B-40,160:IFI$<>""THEN726
  136. 722 IFS=1164THENPOKES+B,160:S=S-19:X=2:GOTO726
  137. 724 IFS=1145THENPOKES+B,160:S=S+19:X=22
  138. 726 IFU=2THENIFI$="^"THENK=NF:NEXT:GOSUB776:U=.:RETURN
  139. 728 IFI$="E"THEN750
  140. 730 IFI$="S"THENIFU<>1THENGOSUB774:POKES+B,160:GOTO706
  141. 732 IFI$="^"THENK=NF:NEXT:GOSUB776:RETURN
  142. 734 IFNF>37THENIFI$="N"THENGOSUB60:B=.:S=1145:NEXT:GOTO702
  143. 736 IFI$="P"THENIFK>.THENK=K-38:B=.:S=1145:GOSUB60:GOTO706
  144. 738 IFI$<>CHR$(13)THEN714
  145. 740 BB=K:POKE198,.:Y=B/40+4:GOSUB20:IFS=1164THENBB=K+19:X=21
  146. 742 IFU=1THENIFV$(B/40+BB)>""THENRETURN
  147. 744 IFX(B/40+BB)=1THENX(B/40+BB)=.:PRINTO$;:GOTO748
  148. 746 IFX(B/40+BB)=.THENX(B/40+BB)=1:PRINTR$;
  149. 748 GOSUB20:GOSUB764:PRINT:GOTO714
  150. 750 P$=W$+P2$:GOSUB45:GOSUB47:GETI$:IFI$="Y"THEN756
  151. 752 IFI$<>"N"THEN750
  152. 754 Y=24:X=.:GOSUB20:PRINTP4$P5$;:X=2:Y=Y-1:GOTO714
  153. 756 P$=P1$:GOSUB48:DN=DN+1:FORI=.TONF
  154. 758 IFX(I)=1THENT$(N+1)=LEFT$(V$(I),16)+RIGHT$("00"+MID$(STR$(DN),2),2):X(I)=.:D=D+1:N=N+1
  155. 760 V$(I)="":NEXT:DT$(DN)=DT$+ID$+RIGHT$("000"+MID$(STR$(D),2),3):IFD=.THENDN=DN-1
  156. 762 D=.:P=1:RETURN
  157. 764 PRINTW$LEFT$(V$(B/40+BB),SL)MID$(V$(B/40+BB),SL+4,1)RIGHT$(V$(B/40+BB),3);:RETURN
  158. 766 GOSUB20:IFX(K+J)=1THENPRINTR$;
  159. 768 PRINTW$LEFT$(V$(K+J),SL)MID$(V$(K+J),SL+4,1)RIGHT$(V$(K+J),3)O$;
  160. 770 IFX(K+J+19)=1THENPRINTR$;
  161. 772 PRINT""LEFT$(V$(K+J+19),SL)MID$(V$(K+J+19),SL+4,1)RIGHT$(V$(K+J+19),3):RETURN
  162. 774 FORI=.TONF:X(I)=X(I)+1AND1:NEXT:RETURN
  163. 776 P$=P1$:GOSUB48:FORI=.TONF:X(I)=.:V$(I)="":NEXT:RETURN
  164. 800 REM * SORT
  165. 802 P$="SORTING"+STR$(N)+" FILES":GOSUB48:P=C-5:IFP=1THENP=.
  166. 804 IFP=.THENSYSML,T$,1,N,1,16,A
  167. 806 IFP=2THENSYSML,T$,1,N,17,18,A,1,16,A
  168. 808 RETURN
  169. 900 REM * SUMMARY REPORT
  170. 902 PRINT#S,H1$SPC((E)-LEN(L1$+" "+L2$)/2)L1$" "L2$
  171. 904 P$="-SUMMARY REPORT-":PRINT#S,C3$SPC(E/2-LEN(P$)/2)P$
  172. 906 PRINT#S,""SPC(E-(LEN(D$)/2))D$:GETI$:IFI$="^"THEN1342
  173. 908 P$="DISK NAME        ID#":IFPC=6THENPRINT#S,E$"-"CHR$(1);
  174. 910 PRINT#S:PRINT#S,P$;SPC(B)P$;SPC(B)P$H2$:IFPC=6THENPRINT#S,E$"-"CHR$(0)
  175. 912 LN=5:FORK=1TOSO:F$="@"+LEFT$(SL$(K),15):FF$=CHR$(K+64)
  176. 914 OPEN1,DD,.,MID$(STR$(DR),2,1)+":"+F$+",S,R":GOSUB91:IFERTHEN926
  177. 916 F$=MID$(F$,2):INPUT#1,DN:INPUT#1,N:INPUT#1,P:NN=NN+DN:TT=TT+N
  178. 918 FORX=1TODN:INPUT#1,T$:T$(X)=LEFT$(T$,16)+FF$+RIGHT$("00"+MID$(STR$(X),2),2)
  179. 920 NEXT:CLOSE1:M=N:P=N:IP=DN:N=DN:S=4:GOSUB1242:P=.:N=.:DN=.:IFI$="^"THENPRINT"[147]":RUN
  180. 922 NEXT:PRINT#S,H1$SPC(20)"TOTAL OF"STR$(TT)" PROGRAMS ON"STR$(NN)" DISKS"H2$
  181. 924 PRINT"[147]":RUN
  182. 926 P$=BK$:GOSUB48:GOSUB92:POKE53281,11:P$=BK$:GOSUB48:P$="A[146]BORT OR R[146]ETRY?"
  183. 928 GOSUB30:IFI$="A"THENRUN
  184. 930 IFI$<>"R"THEN928
  185. 932 CLOSE1:GOSUB202:P$=S4$:GOSUB48:GOTO914
  186. 950 REM * CURSOR SELECT
  187. 952 B=.:S=1152:Y=24:X=8:GOSUB20:PRINTW$R$".....CRSR=MOVEMENT....."SPC(9)S0$;:C=N
  188. 954 IFU=1THENB=40*G:C=10:S=1193
  189. 956 IFU=2THENC=5:S=1267:IFPCTHENB=40*(PC-1)
  190. 958 IFU=3THENC=1:S=1784+18+LEN(P$)/2
  191. 960 IFU=4THEN:C=SO-1:S=1120
  192. 962 POKES+B,62:POKE198,.
  193. 964 GETI$:IFI$=""ORI$=""THENIFB+40=840ORB/40=>CTHENPOKES+B,160:B=-40
  194. 966 IFI$=""ORI$=""THENB=B+40:POKES+B,62:IFBTHENPOKES+B-40,160
  195. 968 IFI$="[145]"ORI$="[157]"THENIFB-40=-40THENPOKES+B,160:B=840:IFC<19THENB=C*40+40
  196. 970 IFI$="[145]"ORI$="[157]"THENPOKES+B,160:B=B-40:POKES+B,62
  197. 972 IFI$="N"ORI$="P"ORI$="E"ORI$="S"ORI$="^"THENRETURN
  198. 974 IFUTHENIFI$=CHR$(13)THENC=B/40:U=.:RETURN
  199. 976 IFI$<>CHR$(13)THEN964
  200. 978 IFN<19THENC=B/40:GOTO982
  201. 980 C=J-18+B/40:IFC<.THENC=N-ABS(C)+1
  202. 982 IFCTHENG=C:K=2:GOSUB920:C=G
  203. 984 J=C-1:IFN<19THENJ=-1
  204. 986 GOSUB10:RETURN
  205. 1100 REM * ? TO SCREEN
  206. 1102 J=-1:GOSUB60
  207. 1104 P$=FF$+O$+"-"+F$+STR$(DN)+" DISKS"+STR$(N)+" PROGRAMS":IFN<1ORI$="^"THENRETURN
  208. 1106 Y=2:X=60-LEN(P$)/2:GOSUB20:PRINTW$R$P$:GOTO1112
  209. 1108 P$=P6$:GOSUB45:GOSUB30:IFI$="^"THENRETURN
  210. 1110 IFN<19THEN1108
  211. 1112 GOSUB60:X=.:Y=4:GOSUB20
  212. 1114 IFI$<>"[145]"THENJ=J+1:GOTO1118
  213. 1116 J=J-37:IFJ<.THENJ=N-ABS(J)+1:IFJ<.THENJ=.
  214. 1118 IFJ>NTHENJ=.
  215. 1120 IFJ=.THEN1130
  216. 1122 PRINTTAB(1)W$LEFT$(T$(J),16)FF$RIGHT$(T$(J),2);
  217. 1124 PRINT" "LEFT$(DT$(VAL(RIGHT$(T$(J),2))),18):IFN<19THENIFJ=NTHEN1108
  218. 1126 IFPEEK(214)<22THENJ=J+1:GOTO1118
  219. 1128 GOTO1108
  220. 1130 PRINT"[158]"R$P8$
  221. 1132 GOTO1126
  222. 1150 REM * ? OPTIONS
  223. 1152 P$=BL$:GOSUB48:P$="PRINT OPTIONS":Y=4:X=13:GOSUB20:PRINTCY$P$
  224. 1154 X=4:Y=7:FORI=1TO6:GOSUB20:PRINTR$W$MID$(STR$(I)+"  ",2,2)O$PC$(I):Y=Y+1:NEXT
  225. 1156 U=2:GOSUB952:IFI$="^"THENRETURN
  226. 1158 PC=C+1:P$=BL$:GOSUB48
  227. 1160 P$="COMMENT/DATE/ETC...":J=17:A$=LEFT$("                 ",J-LEN(D$))
  228. 1162 GOSUB45:J$=D$:I=LEN(D$)
  229. 1164 Y=22:X=5:GOSUB20:PRINT"[159]NO COMMAS,SEMICOLONS OR COLONS":GOSUB102:D$=J$
  230. 1166 RETURN
  231. 1200 REM * ? TO PRINTER
  232. 1202 IFN<1THENI$="Y":PC=2:GOTO1206
  233. 1204 P$=BL$:GOSUB48:P$="SET/RESET OPTIONS?":GOSUB302:IFI$="^"THENRETURN
  234. 1206 IFI$="Y"THENGOSUB1152:IFI$="^"THENRETURN
  235. 1208 IFN<1ANDPC<>2ANDPC<>6THENRETURN
  236. 1210 IFPC=2ORPC=6THENP$=S9$:GOSUB48:GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
  237. 1212 IFPC=2ORPC=6THENGOSUB93:IFERTHEN94
  238. 1214 P$=BL$:GOSUB48:Y=18:X=4:GOSUB20:PRINTR$"[158]PREPARE PRINTER & POSITION PAPER"
  239. 1216 P$=S6$:GOSUB30:IFI$="^"THENRETURN
  240. 1218 P$=T3$:E$=CHR$(27):S=4:CLOSES:OPENS,S,SA:GOSUB202
  241. 1220 PG=PL:PRINT#S,U$SPC((A/2)-1);:FORI=1TOCL:PRINT#S,P$SPC(B/A);:NEXT:PRINT#S
  242. 1222 P$="TEST ALIGNMENT AGAIN?":GOSUB302:S=4:P$=T3$:GOSUB202:IFI$="^"THENCLOSES:
  243. 1224 IFI$="Y"THENLN=.:GOTO1218
  244. 1226 U=2:PRINT#S,H1$;:IFCTHENFORI=1TOC:PRINT#S:NEXT
  245. 1228 P$=S4$:GOSUB48:Y=4:X=5:GOSUB20:IFPC=2ORPC=6THEN902
  246. 1230 PRINT#S,""SPC(E-LEN(L1$+" "+L2$)/2)L1$" "L2$
  247. 1232 PRINT#S,C3$SPC((E/2)-LEN(FF$+"-"+F$)/2)FF$"-"F$C4$:GETI$:IFI$THEN1342
  248. 1234 P$=STR$(N)+" PROGRAMS ON"+STR$(DN)+" DISKS "+D$:PRINT#S,""SPC(E-LEN(P$)/2)P$H2$
  249. 1236 IFPTHENIFPC<>5THENPRINT#S
  250. 1238 W=.:M=N::IFPTHENLN=5:IFPC=5THENLN=10
  251. 1240 IFPTHENFORK=1TODN:IP=VAL(MID$(DT$(K),19)):N=IP:W=W+IP:IFK>1THENZ=W-IP
  252. 1242 X=INT(IP/CL):IFN>PG*CLTHENX=PL:IP=PG*CL
  253. 1244 C3=2*X:C4=3*X:C5=4*X:R=FNR(X):IFR>.THENIFR<=CLTHENX=X+1
  254. 1246 IFPTHENGOSUB1344
  255. 1248 IFPC<>2ANDPC<>6THEN1252
  256. 1250 PRINT#S,H1$"CATEGORY "FF$"-"F$" * "DN" DISKS * "M" PROGRAMS"H2$
  257. 1252 C3=2*X:C4=3*X:C5=4*X:ONCLGOTO1254,1256,1260,1268,1278
  258. 1254 C3=IP:C4=IP:C5=IP:GOTO1288
  259. 1256 IFRTHENC3=2*X-1
  260. 1258 GOTO1288
  261. 1260 ONRGOTO1264,1266:REM 3
  262. 1262 GOTO1288
  263. 1264 C3=X:C4=2*X-1:GOTO1288
  264. 1266 C4=3*X-1:GOTO1288
  265. 1268 ONRGOTO1272,1274,1276:REM 4
  266. 1270 GOTO1288
  267. 1272 C3=2*X-1:C4=3*X-2:GOTO1288
  268. 1274 C4=3*X-1:GOTO1288
  269. 1276 GOTO1288
  270. 1278 ONRGOTO1282,1284,1286:REM 5
  271. 1280 GOTO1288
  272. 1282 C3=2*X-1:C4=3*X-2:C5=4*X-3:GOTO1288
  273. 1284 C4=3*X-1:C5=4*X-2:GOTO1288
  274. 1286 C5=4*X-1
  275. 1288 PRINT#S,T1$;:IFPC=2ORPC=6THEN1296
  276. 1290 IFDTHENFORI=1TOD:PRINT#S:NEXT
  277. 1292 IFPTHENPRINT#S,H1$FF$RIGHT$(T$(Z+1),2)"-"LEFT$(DT$(K),18)" - "MID$(DT$(K),19)" PROGRAMS";
  278. 1294 IFPTHENPRINT#S,H2$T1$:FORI=1TOCL-1:PRINT#S,P9$SPC(B);:NEXT:PRINT#S,P9$:GOTO1298
  279. 1296 PRINT#S,""SPC(A-2);:FORI=1TOCL-1:PRINT#S,P9$SPC(B);:NEXT:PRINT#S,P9$
  280. 1298 IFZ>.THENC3=C3+Z:C4=C4+Z:C5=C5+Z:IFN<=PG*CLTHENIP=IP+Z
  281. 1300 IFPC=6THENPRINT#S,T2$;
  282. 1302 FORI=1TOX:GETI$:IFI$="^"THENI=X:NEXT:GOTO1342
  283. 1304 PRINT#S,""SPC(A-2)LEFT$(T$(I+Z),16)" "FF$RIGHT$(T$(I+Z),2)SPC(B);
  284. 1306 IFC3=>I+X+ZTHENPRINT#S,LEFT$(T$(I+X+Z),16)" "FF$RIGHT$(T$(I+X+Z),2)SPC(B);
  285. 1308 IFI+C3>IPTHENPRINT#S:GOTO1320
  286. 1310 IFC4=>I+C3THENPRINT#S,LEFT$(T$(I+C3),16)" "FF$RIGHT$(T$(I+C3),2)SPC(B);
  287. 1312 IFI+C4>IPTHENPRINT#S:GOTO1320
  288. 1314 IFC5=>I+C4THENPRINT#S,LEFT$(T$(I+C4),16)" "FF$RIGHT$(T$(I+C4),2)SPC(B);
  289. 1316 IFI+C5>IPTHENPRINT#S:GOTO1320
  290. 1318 IFC5+X=>I+C5THENPRINT#S,LEFT$(T$(I+C5),16)" "FF$RIGHT$(T$(I+C5),2)
  291. 1320 NEXT
  292. 1322 PRINT#S,""SPC(A-2):FORI=1TOCL-1:PRINT#S,P9$SPC(B);:NEXT:IFN<=PG*CLTHENPRINT#S,P9$:GOTO1326
  293. 1324 PRINT#S,"----CONTINUED-------"
  294. 1326 IFN<=PG*CLTHEN1338
  295. 1328 PRINT#S,T2$H1$:IFPC=5THENPRINT#S
  296. 1330 IFCTHENFORI=1TOC:PRINT#S:NEXT
  297. 1332 PRINT#S:PRINT#S,""SPC(A-2)FF$"-"F$" CONTINUED..."
  298. 1334 PRINT#S,SPC(A-2)"PAGE#"(PG/PL)+1"-"D$H2$
  299. 1336 Z=PG*CL:IP=N-(PG*CL):PG=PG+PL:GOTO1242
  300. 1338 IFPC=2ORPC=6THENPRINT#S:RETURN
  301. 1340 IFPTHENPRINT#S:PRINT#S:NEXT
  302. 1342 PRINT#S,T2$;:CLOSES:N=M:RETURN
  303. 1344 J=66:JJ=5:IFPC=5THENJ=132
  304. 1346 IFPC=2ORPC=6THENJJ=4
  305. 1348 IFX+JJ<J-LNTHEN1356
  306. 1350 IFPC=5THENPRINT#S,E$"A"CHR$(6);
  307. 1352 FORI=1TOJ-LN:PRINT#S:NEXT:GOSUB1362
  308. 1354 IFPC=5THENPRINT#S,E$"A"CHR$(12);
  309. 1356 LN=LN+JJ+X
  310. 1358 IFLN=>JTHENLN=.:IFPTHENLN=5+JJ+X:IFPC=5THENLN=LN+5
  311. 1360 RETURN
  312. 1362 IFP=.THENRETURN
  313. 1364 IFPC=5THENPRINT#S
  314. 1366 PRINT#S,T2$H1$:PRINT#S,L1$" "L2$:IFPC<>2ANDPC<>6THENPRINT#S,FF$"-"F$:GOTO1370
  315. 1368 PRINT#S,"-SUMMARY REPORT-
  316. 1370 [152]S,"PAGE# "U"-"D$:[152]S,H2$
  317. 1372 U[178]U[170]1:[142]
  318. 1400 [143] * EQUIP SETUP
  319. 1402 [141]48:Z[178].:U[178].:I[178].:P$[178]R$[170]"LIST   CMDCMDCMDCMDCMD"[170]O$[170]W$
  320. 1404 SD[178]SD[170]I:[141]1438:Y[178]7:X[178]4:[141]20:[153]W$"SOURCE DEVICE #:",P$SD:[139]U[167][142]
  321. 1406 DD[178]DD[170]I:[141]1438:Y[178]9:[141]20:[153]"MASTER DEVICE #:",P$DD:[139]U[167][142]
  322. 1408 SR[178]SR[170]I:[141]1438:Y[178]11:[141]20:[153]"SOURCE DRIVE #:",,P$SR:[139]U[167][142]
  323. 1410 DR[178]DR[170]I:[141]1438:Y[178]13:[141]20:[153]"MASTER DRIVE #:",,P$DR:[139]U[167][142]
  324. 1412 SA[178]SA[170]I:Y[178]15:[141]20:[153]"SECONDARY ADDRESS:",P$SA:[139]U[167][142]
  325. 1414 Y[178]19:[141]20:[153]R$"USE CURSOR KEYS TO SELECT"
  326. 1416 Y[178]21:[141]20:[153]W$R$"USE +/- KEYS TO CHANGE"
  327. 1418 [141]47:Y[178]24:X[178]47:[141]20:[153]R$CY$"  PRESS ' ^ ' TO RETURN    ";:[139]Z[178]1[167][142]
  328. 1420 Y[178]7:U[178]1
  329. 1422 I[178].:X[178]28:[141]20:[153]R$W$">>":X[178]4:[161]I$:[139]I$[178]"-"[167]I[178]I[171]1:[141]1434
  330. 1424 [139]I$[178]"+"[167]I[178]I[170]1:[141]1434
  331. 1426 [139]I$[178]""[176]I$[178]""[167]X[178]25:[141]20:[153]P$:Y[178]Y[170]2:U[178]U[170]1:X[178]28:I[178].:[139]Y[177]15[167]Y[178]7:U[178]1
  332. 1428 [139]I$[178]"ON"[176]I$[178]"CMD"[167]X[178]25:[141]20:[153]P$:Y[178]Y[171]2:U[178]U[171]1:X[178]28:I[178].:[139]Y[179]7[167]Y[178]15:U[178]5
  333. 1430 [139]I$[178]"^"[176]I$[178][199](13)[167]1456
  334. 1432 [137]1422
  335. 1434 [145]U[141]1404,1406,1408,1410,1412
  336. 1436 [142]
  337. 1438 [139]SD[179]8[167]SD[178]15
  338. 1440 [139]SD[177]15[167]SD[178]8
  339. 1442 [139]DD[179]8[167]DD[178]15
  340. 1444 [139]DD[177]15[167]DD[178]8
  341. 1446 [139]SR[179].[167]SR[178]1
  342. 1448 [139]SR[177]1[167]SR[178].
  343. 1450 [139]DR[179].[167]DR[178]1
  344. 1452 [139]DR[177]1[167]DR[178].
  345. 1454 [142]
  346. 1456 [139]SD[178]8[175]DD[178]8[167][142]
  347. 1458 P$[178]BL$:[141]48:P$[178]"CHANGE DEVICE #?":[141]302:[139]I$[178]"N"[176]I$[178]"^"[167][142]
  348. 1460 P$[178]BL$:[141]48:Y[178]17:X[178]7:[141]20:[153]R$"SYSTURN OFF ALL DRIVES EXCEPT"
  349. 1462 Y[178]Y[170]1:[141]20:[153]R$"  THE ONE TO BE CHANGED.  "
  350. 1464 P$[178]"OLD DEVICE # ":J[178]2:A$[178]"  ":J$[178]"8":I[178]1:[141]102:[139]J$[178]""[167][142]
  351. 1466 OD[178][197](J$):[139]OD[179]8[176]OD[177]15[167]1464
  352. 1468 P$[178]"NEW DEVICE # ":J[178]2:A$[178]"  ":J$[178]"9":I[178]1:[141]102:[139]J$[178]""[167][142]
  353. 1470 ND[178][197](J$):[139]ND[179]8[176]ND[177]15[167]1468
  354. 1472 [160]15:[159]15,OD,15
  355. 1474 [152]15,"M-W"[199](119)[199](.)[199](2)[199](ND[170]32)[199](ND[170]64):P$[178]BL$:[141]48
  356. 1476 Y[178]20:X[178]10:[141]20:[153]R$"SYSTURN ON OTHER DRIVE!":P$[178]S6$:[141]30:[160]15:[142]
  357. 1500 [143] * INITILIZE VARIABLES
  358. 1502 ML[178]49408:ME[178][181](([184](.)[171]3800)[173]21)[171]31:[139]ME[179]1[167]ME[178].
  359. 1504 [140]:R$[178]"":O$[178]"WAIT":BL$[178]"":CY$[178]"OPEN":W$[178]"":[151]53280,7:[151]53281,11
  360. 1506 [134]V$(152),X(152),T$(ME[170]5),DT$([181](50)),M$(15),PC$(13)
  361. 1508 DL[178]830:SD[178]8:DD[178]8:SA[178]4:CL[178]3
  362. 1510 [135]M$(.):[129]I[178]1[164]11:[135]M$(I):M$(I)[178][200](M$(I)[170]"                  ",18):[130]
  363. 1512 [129]I[178]1[164]6:[135]PC$(I):[130]:D$[178]"CLUB LIBRARIAN":F$[178]"NO FILE NAME":FF$[178]"?"
  364. 1514 [135]SO:[134]SL$(SO):[129]I[178]1[164]SO:[135]SL$(I):[130]:[135]L1$:[135]L2$
  365. 1516 S1$[178]"                                        WAIT"
  366. 1518 S2$[178]"OPEN        THE CLUB LIBRARIAN V1.2         WAIT"
  367. 1520 S3$[178]"                                       WAIT"
  368. 1522 S4$[178]"PRESS & HOLD '^' TO STOP PRINTING"
  369. 1524 S5$[178]"SYSREPLACE EXISTING FILE (Y/N)?
  370. 1526 S6$="PRESS A KEY TO CONTINUE"
  371. 1528 S7$="SELECT ONE"
  372. 1530 S8$="[158]SOURCE"
  373. 1532 S9$="[158]MASTER"
  374. 1534 P1$="WORKING"
  375. 1536 P2$="SELECTION OK (Y/N)?"
  376. 1538 P3$="NO FILES AVAILABLE!"
  377. 1540 P4$="CRSR=MOVEMENT  N=NEXT  P=PREVIOUS[146]"
  378. 1542 P5$="RETURN=SELECT S=SWAP E=END ^=MENU[146]"
  379. 1544 S0$="      RETURN=SELECT  ^=MENU      [146]"
  380. 1546 P6$=" CRSR^ = PREVIOUS - OTHER KEYS = NEXT "
  381. 1548 P7$="NO CLUB LIBRARIAN FILES FOUND"
  382. 1550 P8$="FILENAME        ID# DISKNAME        ID"
  383. 1552 P9$="--------------------"
  384. 1554 T3$=" - - - - - -"
  385. 1556 IFPEEK(DL)=160ANDPEEK(ML)=32ANDPEEK(51740)=120THEN2002
  386. 1558 OPEN1,8,.,"0:CLUB LIB.SANI,S,R":FORI=51740TO52223:INPUT#1,A:POKEI,A:NEXT:CLOSE1
  387. 1560 OPEN1,8,.,"0:CLUB LIB.SORT,S,R":FORI=49408TO49973:INPUT#1,A:POKEI,A:NEXT:CLOSE1
  388. 1562 OPEN1,8,.,"0:CLUB LIB.DIR,S,R":FORI=DLTODL+148:INPUT#1,A:POKEI,A:NEXT:CLOSE1
  389. 1564 SYS51740
  390. 2000 REM * MAIN MENU
  391. 2002 GOSUB10:X=PEEK(152):FORI=1TOX:CLOSEPEEK(601):NEXT:P0$=" SORTED"
  392. 2004 P$=MID$(STR$(ME),2)+" ITEMS/CATEGORY":Y=2:X=60-LEN(P$)/2:GOSUB20:PRINTP$
  393. 2006 G=.:IFN>0THENG=1
  394. 2008 POKE198,.:K=.:LN=.:J$=""
  395. 2010 IFN<1THENN=.:P=1:G=.
  396. 2012 Y=4:X=10:GOSUB20:PRINTM$(.):Y=5
  397. 2014 FORI=1TO11:P$=R$:IFN<1THENIFI=3ORI=5ORI=6ORI=7THENP$=O$
  398. 2016 IFI=6THENIFP=.THENP$=O$
  399. 2018 IFI=7THENIFP=2THENP$=O$
  400. 2020 GOSUB20:PRINTW$P$RIGHT$("  "+STR$(I),2)W$;
  401. 2022 PRINTO$M$(I):Y=Y+1:NEXT:IFP=1THENP0$="UNSORTED"
  402. 2024 P$=FF$+R$+"-"+F$:IFN>.THENP$=P$+STR$(DN)+" DISKS"
  403. 2026 Y=18:X=20-LEN(L1$)/2:GOSUB20:PRINTL1$:Y=19:X=20-LEN(L2$)/2:GOSUB20:PRINTL2$
  404. 2028 Y=21:X=21-LEN(P$)/2:GOSUB20:PRINTW$P$:P$=STR$(N)+" PROGRAMS : "+P0$
  405. 2030 IFN>ME-100THENPRINT"[158]";
  406. 2032 Y=22:X=20-LEN(P$)/2:GOSUB20:PRINTR$P$
  407. 2034 U=1:GOSUB952:G=C:IFUTHEN2048
  408. 2036 C=C+1:IFC=1ORC=2ORC=4ORC=8ORC=9ORC=10ORC=11THEN2044
  409. 2038 IFC=6THENIFP=.THENPOKES+B,160:GOTO2034
  410. 2040 IFC=7THENIFP=2THENPOKES+B,160:GOTO2034
  411. 2042 IFN<1THENPOKES+B,160:GOTO2034
  412. 2044 P$=BL$:GOSUB48
  413. 2046 ONCGOSUB352,602,1102,1202,352,802,802,2050,1152,1402,2050
  414. 2048 GOTO2002
  415. 2050 Z=C:IFN=.THEN2056
  416. 2052 PRINT"[158]";:P$="HAVE YOU SAVED CURRENT [158]FILE?"
  417. 2054 GOSUB302:IFI$="N"ORI$="^"THENRETURN
  418. 2056 IFC=8ORZ=8THENPRINT"[147]":RUN
  419. 2058 PRINT"[147]HAPPY COMPUTING!!":CLR:END
  420. 5000 REM * MENU ITEMS
  421. 5002 DATA"[158]     MAIN MENU      ","LOAD A FILE","ADD/READ DIRECTORY"
  422. 5004 DATA"VIEW ENTRIES","PRINT ENTRIES","SAVE A FILE"
  423. 5006 DATA"SORT BY FILENAME","SORT BY DISK ID#","CLEAR/RESET"
  424. 5008 DATA"PRINT OPTIONS","EQUIPMENT SETUP","EXIT TO BASIC"
  425. 5010 REM * ? OPTIONS
  426. 5012 DATA"3 COL/REGULAR TYPE   COMMODORE"
  427. 5014 DATA"SUMMARY REPORT       COMMODORE"
  428. 5016 DATA"3 COL/REGULAR TYPE   EPSON/ETC"
  429. 5018 DATA"5 COL/CONDENSED TYPE EPSON/ETC"
  430. 5020 DATA"5 COL/SUBSCRIPT TYPE EPSON/ETC"
  431. 5022 DATA"SUMMARY REPORT       EPSON/ETC"
  432. 5024 DATA 21:REM # OF SAVE/LOAD OPTIONS
  433. 5026 DATA BUSINESS,C128,CLUB MONTHLY,COMAL1 .14,COMAL2 .14,COMAL 2.0
  434. 5028 DATA EDUCATION,FREEWARE,GAMES,HOME,MISC 1,MISC 2,PET,PUBLIC DOMAIN,TERMINAL
  435. 5030 DATA TPUG MISC1,TPUG MISC2,TPUG MONTHLY1,TPUG MONTHLY2,UTILITIES,UPDATES
  436. 5032 REM * CLUB DATA
  437. 5034 DATA "[159]GREATER OMAHA"
  438. 5036 DATA "COMMODORE USERS GROUP"
  439.